package com.tuanbiao.controllers;

import com.hzjq.data.entity.BlastDetailEntity;
import com.hzjq.data.entity.BlastEntity;
import com.hzjq.data.hzjq.entity.CapRecordEntity;
import com.tuanbiao.base.mvp.IModel;
import com.tuanbiao.base.mvp.IPresenter;
import com.tuanbiao.base.mvp.IView;
import com.tuanbiao.models.action.BlastAction;
import com.tuanbiao.models.action.BlastLogAction;
import com.tuanbiao.models.action.UploadAction;

import java.util.List;

/**
 * @author abiao
 * @since 2022/4/12 16:19
 */
public interface UploadDataController {
    interface Model extends IModel, UploadAction, BlastAction, BlastLogAction {
    }

    interface View extends IView {

        void setItems(List<BlastEntity> blastEntities);

        void addItems(List<BlastEntity> blastEntities);

    }

    interface Presenter extends IPresenter {

        void refresh();

        void loadMore();

        void upload(int position, boolean isUploadAll,BlastEntity info);

        void uploadAll();
    }

    interface DetailsView extends IView {

        void setItems(List<CapRecordEntity> caps);

        void startLog(BlastDetailEntity entity);

        void showDetails(BlastDetailEntity entity);

        void showDetails(BlastEntity entity);
    }

    interface DetailsPresenter extends IPresenter {

        void startOperateLog();

        void update(boolean isUploadAll);

        int getErrorCount();

        boolean isChange();
    }
}
